The IOA Language and Toolset: Support for Designing, Analyzing, and Building Distributed Systems
نویسندگان
چکیده
This report describes a new language for distributed programming, the IOA language, together with a high-level design and preliminary implementation for a suite of tools, the IOA toolset, to support the production of high-quality distributed software. The language and tools are based on the I/O automaton model, which has been used to describe and verify distributed algorithms. The toolset supports a development process that begins with a high-level speciica-tion, reenes that speciication via successively more detailed designs, and ends by automatically generating distributed programs. The toolset encourages system decomposition, which helps make distributed programs understandable and easy to modify. It also provides a variety of validation methods (theorem proving, model checking, and simulation), which can be used to ensure that the generated programs are correct, subject to assumptions about externally-provided system services (e.g., communication services), and about the correctness of hand-coded data type implementations.
منابع مشابه
The IOA Language and Toolset : Support forMathematics - Based Distributed Programming Stephen
This paper presents a new language for distributed programming, the IOA language, together with a design for a suite of tools, the IOA toolset, that support the production of high-quality distributed software. The language and tools are based on the I/O automaton model, which has been used extensively to describe and verify distributed algorithms. The toolset supports a development process that...
متن کاملSystematic Removal of Nondeterminism for Code Generation in I O Automata
The Input Output I O automaton model developed by Lynch and Tuttle models components in asynchronous concurrent systems as labeled transition systems IOA is a precise language for de scribing I O automata and for stating their properties A toolset is being developed for IOA to support distributed software design and implemen tation One of the tools consists of a user assisted code generator fro...
متن کاملSpecifying and proving properties of timed I/O automata using Tempo
Timed I/O automata (TIOA) is a mathematical framework for modeling and verification of distributed systems that involve discrete and continuous dynamics. TIOA can be used for example, to model a real-time software component controlling a physical process. The TIOA model is sufficiently general to subsume other models in use for timed systems. The Tempo Toolset, currently under development, is a...
متن کاملComprehensive Speci cation of DistributedSystems Using I
Low level diiculties in the development of distributed systems that are due to non-standard communication protocols and incompatible components or platforms have largely been solved through standardization and commoditization of protocols and platforms. Distributed systems are being designed at higher levels of sophistication these days, and having an expressive yet usable speciication language...
متن کاملUsing I/o Automata for Developing Distributed Systems Using I/o Automata for Developing Distributed Systems 279 Sion of I/o Automata. Other Tool Support for I/o Automata Includes the Spectrum Programming Language and Simulator Gol90]. 13.2 General Design Guidelines
This paper describes a new experimental programming language, IOA, for modeling and implementing distributed systems, plus designs for a set of tools to support IOA programming. The language and tools are based on the I/O automaton model for reactive systems, which has been used extensively for research on distributed algorithms. The language supports structured modeling of distributed systems ...
متن کامل